# 1、定义集合（集合特点：无序，会去重）
my_set = {'a', 'b', 'c', 'c', 'b', 'a'}
print(my_set, type(my_set))
print(len(my_set) == 3)

set1 = {}  # 这个是字典类型，不是空集合
# {} <class 'dict'>
print(set1, type(set1))

set2 = set()  # 空集合
# set() <class 'set'>
print(set2, type(set2))
print('🍀🍀🍀🍀🍀🍀')

# 2、添加新元素
my_set.add('success')
my_set.add('happy')
my_set.add('a')
print(len(my_set) == 5)
print(my_set)
print('🍀🍀🍀🍀🍀🍀')

# 3、移除元素
my_set.remove('c')
my_set.remove('a')
# my_set.remove('d')  # 假如集合中无此元素👉报错
print(len(my_set) == 3)
print('🍀🍀🍀🍀🍀🍀')

# 4、随机取一个元素👉取出的元素会被删除
print(my_set)
print(my_set.pop())
print(my_set)
print('🍀🍀🍀🍀🍀🍀')

# 5、清空集合
print(my_set, len(my_set))
my_set.clear()
print(my_set, len(my_set))
print('🍀🍀🍀🍀🍀🍀')

# 6、取两个集合的差集
set1 = {'张', '三', '丰'}
set2 = {'张', '天', '易'}
# 取出set1有，并且set2没有的元素组成一个新集合
new_set = set1.difference(set2)
print(new_set, len(new_set))
print(F'set1: {set1}')
print(F'set2: {set2}')
print('🍀🍀🍀🍀🍀🍀')

# 7、difference_update
set1 = {'张', '三', '丰', 1, 2}
set2 = {'张', '天', '易', 2, 3}
# 把set1中和set2一样的元素删除掉
set1.difference_update(set2)
print(set1, len(set1) == 3)
print(F'set2: {set2}')
print('🍀🍀🍀🍀🍀🍀')

# 8、union
set1 = {'张', '三', '丰'}
set2 = {'张', '天', '易'}
# 把set1和set2中的元素合并，返回新集合
new_set = set1.union(set2)
print(new_set, len(new_set) == 5)
print('🍀🍀🍀🍀🍀🍀')

# 9、遍历集合👉只能使用for循环，不能使用while循环(因为集合无序，没有索引的概念）
my_set = {'success', 'happy', 'rich', 'handsome', 'lucky', 'success', 'success', 'happy'}
for item in my_set:
    print(F'✌{item}')
